
#include "FOCMotor.h"
#include "BLDCmotor.h"
#include "AS5600.h"

/******************************************************************************/
float sensor_offset=0; // 传感器偏移量，用于校正传感器读取的初始角度。
float zero_electric_angle;// 电机的零电角度，用于校正电机的初始位置

float shaft_angle;//!< current motor angle
float electrical_angle;// 当前电机电角度，表示电机的电气角度。
float shaft_velocity;// 当前电机轴速度，表示电机的实际转动速度。
float current_sp;// 当前设定的电流设定点，用于电机控制。
float shaft_velocity_sp;// 当前设定的轴速度设定点，用于电机速度控制。
float shaft_angle_sp;// 当前设定的轴角度设定点，用于电机位置控制。

DQVoltage_s voltage;//DQ 坐标系的电压结构体

TorqueControlType torque_controller;//扭矩控制类型
MotionControlType controller;//运动控制类型

/******************************************************************************/

//轴角度计算
float shaftAngle(void)
{
  // if no sensor linked return previous value ( for open loop )
  //if(!sensor) return shaft_angle;
  return sensor_direction*getAngle() - sensor_offset;
}
//电气角度计算
float electricalAngle(void)
{
  return _normalizeAngle((shaft_angle + sensor_offset) * pole_pairs - zero_electric_angle);
}
